﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using MySql.Data.MySqlClient;
using System.Web.Configuration;

/// <summary>
/// Classe com  rotinas de ajuda.
/// </summary>
public class Ajuda : Banco
{
    private string Descricao, Solucao;
    public Ajuda()
    { }
    public Ajuda(string Descricao, string Solucao)
    {
        this.Descricao = Descricao;
        this.Solucao = Solucao;
    }
    /// <summary>
    /// Salva no banco uma ajuda.
    /// </summary>
    /// <returns>True para ok, false para erro no banco.</returns>
    public bool Salvar()
    {
        string Hora = DateTime.Now.ToString("HH:mm:ss");
        string Data = DateTime.Now.ToString("yyyy/MM/dd");
        string Login = HttpContext.Current.User.Identity.Name.ToString();
        string IP = HttpContext.Current.Request.UserHostAddress.ToString();
        return Comando("INSERT INTO ajuda (Problema, Solução, Login, Data, Hora, IP) VALUES ('" + Descricao + "', '" + Solucao + "', '" + Login + "', '" + Data + "', '" + Hora + "', '" + IP + "')");
    }
    /// <summary>
    /// Altera ajuda no banco.
    /// </summary>
    /// <param name="Codigo">Codigo da ajuda a ser alterada.</param>
    /// <returns>True para ok, false para erro no banco.</returns>
    public bool Alterar(string Codigo)
    {
        string Hora = DateTime.Now.ToString("HH:mm:ss");
        string Data = DateTime.Now.ToString("yyyy/MM/dd");
        string Login = HttpContext.Current.User.Identity.Name.ToString();
        string IP = HttpContext.Current.Request.UserHostAddress.ToString();
        return Comando("UPDATE ajuda SET Problema = '" + Descricao + "', Solução ='" + Solucao + "', Login = '" + Login + "', Data = '" + Data + "', Hora ='" + Hora + "', IP ='" + IP + "' WHERE (Codigo = '" + Codigo + "')");
    }
    /// <summary>
    /// Apaga ajuda no banco.
    /// </summary>
    /// <param name="Codigo">Codigo da ajuda a ser apagada.</param>
    /// <returns>True para ok, false para erro no banco.</returns>
    public bool Apagar(string Codigo)
    {
        return Comando("DELETE FROM ajuda WHERE (Codigo = " + Codigo + ")");
    }
    /// <summary>
    /// Busca no banco problema e solução de acordo com o código passado.
    /// </summary>
    /// <param name="Codigo">Codigo da ajuda.</param>
    /// <returns>Lista com Problema mais Solução.</returns>
    public string[] BuscarAjuda(string Codigo)
    {
        string[] Lista = new string[2];
        string sql = "SELECT Problema, Solução FROM ajuda WHERE (Codigo = "+Codigo+")";

        MySqlConnection conection = new MySqlConnection(WebConfigurationManager.ConnectionStrings["chamados"].ConnectionString);
        MySqlCommand comando = new MySqlCommand(sql, conection);

        MySqlDataReader dtreader;
        conection.Open();
        dtreader = comando.ExecuteReader();

        if (dtreader.HasRows)
        {
            while (dtreader.Read())
            {
                Lista[0] = dtreader.GetValue(0).ToString();
                Lista[1] = dtreader.GetValue(1).ToString();
            }
        }
        conection.Close();
        return Lista;
    }
}